package jdklearning.classloader;

import java.io.IOException;

import java.net.URL;
import java.util.Enumeration;

/**
 * @author shenenlu 2021年01月21日 下午14:42:04
 */
public class LoadReaourceTest {

    public void testClassLoadResource() {
        /**
         * getResource("") 获取的是当前类所在包的路径
         */
        System.out.println(this.getClass().getResource(""));
        /**
         * getResource("/") 获取的是 classpath 根路径
         */
        System.out.println(this.getClass().getResource("/"));
    }

    /**
     * 在使用 ClassLoader().getResource 获取路径时
     * 不能以 "/" 开头，且路径总是从 classpath 根路径开始；
     */
    public void testClassLoaderLoadResource() {
        System.out.println(this.getClass().getClassLoader().getResource(""));
        System.out.println(this.getClass().getClassLoader().getResource("/"));
    }


    public void testClassLoaderLoadResources() {
        System.out.println(this.getClass().getClassLoader().getResource(""));
        System.out.println(this.getClass().getClassLoader().getResource("/"));
    }


    public static void main(String[] args) {
        LoadReaourceTest loadReaourceTest = new LoadReaourceTest();
        loadReaourceTest.testClassLoaderLoadResource();

        String path ="jvm/";
        try {
            Enumeration<URL> resourcesUrls = LoadReaourceTest.class.getClassLoader().getResources(path);
            while (resourcesUrls.hasMoreElements()){
                URL url = resourcesUrls.nextElement();
                System.out.println(url);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
